/*
Problem Description
Gardon的18岁生日就要到了，他当然很开心，可是他突然想到一个问题，是不是每个人从出生开始，
到达18岁生日时所经过的天数都是一样的呢？似乎并不全都是这样，
所以他想请你帮忙计算一下他和他的几个朋友从出生到达18岁生日所经过的总天数，让他好来比较一下。
 

Input
一个数T，后面T行每行有一个日期，格式是YYYY-MM-DD。如我的生日是1988-03-07。
 

Output
T行，每行一个数，表示此人从出生到18岁生日所经过的天数。如果这个人没有18岁生日，就输出-1。
 

Sample Input
1
1988-03-07
 

Sample Output
6574
 */
package com.yuan.algorithms.training20150807;

import java.util.Scanner;

/**
 * @author YouYuan
 * @eMail E-mail:1265161633@qq.com
 * @Time 创建时间：2015年8月7日 下午4:21:23
 * @Explain 说明:只需判断18年里的闰年个数，然后加上多出来的天数即可。
 */
public class 十八岁生日 {

	static Scanner in = new Scanner(System.in);

	public static void main(String[] args) {
		while (in.hasNext()) {
			int t = in.nextInt();
			while (--t >= 0) {
				String[] time = in.next().split("-");
				int year = Integer.parseInt(time[0]);
				int month = Integer.parseInt(time[1]);
				int day = Integer.parseInt(time[2]);
				if (month==2 && day == 29) {
					System.out.println(-1);
					continue;
				}
				int sum = 365 * 18;
				for (int i = 1; i < 18; i++) {
					if (judge(year + i)) {
						sum++;
					}
				}
				if (month<=2) {
					if (judge(year)) {
						sum++;
					}
				}else {
					if (judge(year+18)) {
						sum++;
					}
				}
				System.out.println(sum);
			}
		}
	}

	private static boolean judge(int i) {
		if (i % 400 == 0 || (i % 4 == 0 && i % 100 != 0)) {
			return true;
		}
		return false;
	}

}
